This invention relates to a method of interpolation control of a robot for use in arc welding or various assembling processes.
An object of this invention is to provide a method of interpolation control of a robot in which interpolation points are calculated at intervals of a unit time and the tip of the wrist or a arm portion of a robot body is allowed to move along the calculated points independently of the time required for the calculation of the interpolation points.
FIG. 1 shows the entire construction of a multijoint robot of teaching playback system having a control unit 1, a teaching box 2 and a robot body 3. the teaching box 2 and robot body 3 are connected to the control unit 1 through cables 4 and 5, respectively. In this type of robot, movement of a tip 6 of the wrist of the robot body 3 is important.
The movement of the tip 6 between teaching points will now be described. In FIG. 2, points A and B show teaching points. The coordinates of points A and B in the respective joint drive axis systems for the drive of the joints of the multijoint robot are represented by A(M.sub.1A, M.sub.2A . . . ), and B(M.sub.1B, M.sub.2B . . . ).
when the tip of wrist 6 is moved from point A to B with not interpolation control, the amounts of movement of respective joint drive portions within the time of movement t.sub.M are .vertline.M.sub.1B -M.sub.1A .vertline., M.sub.2B -M.sub.2A .vertline., . . . Also, the locus l of the movement of the tip of the wrist of the robot body is normally part of a circular arc as shown in FIG. 2.
Next description is made of a method of interpolation control for directly moving the tip 6 of the wrist of the robot body 3 from point A to B. When an indefinite number of teaching points are provided on a straight line between points A and B as shown in FIG. 3, it enables the tip 6 to move in a substantially straight line between points A and B.
In this case, however, the teaching points are too many and thus the teaching operation becomes complicated and requires much time, resulting in impractical interpolation control.
Normally, calculated points are provided at regular distance intervals based on the coordinates of points A and B and processed to exist on the straight line connecting points A and B, and the tip 6 of the wrist of the robot body 3 is allowed to move along the calculated points.
This so-called linear interpolation control, by which the tip of the wrist 6 of the robot body 3 is moved in a straight line between points A and B.
With regard to the linear interpolation control between points A and B, there is a known method of calculating at each unit distance. That is, as shown in FIG. 4, the coordinates of points A and B in each joint drive axis system are converted to the coordinates of XYZ space, and the XYZ coordinates of point N.sub.1 separated by a unit distance .DELTA.d from the coordinates of point A and lying on the straight line between the points A and B are determined by the XYZ values of points A and B and reversely converted for each joint drive axis system. Then, the tip 6 of the wrist of the robot body 3 is moved while the real time calculation is being made. It is now assumed that the time necessary to calculate the coordinates of point N.sub.1 is t.sub.E.
Thus, the tip 6 of the wrist of the robot body 3 cannot be moved toward point N.sub.1 from point A at a speed higher than .DELTA.d/t.sub.E.
The process of calculating for such a coordinate conversion actually involves a complicated calculation of the combination of trigonometric function, inverse trigonometric function, square root, multiplication, division, addition and subtraction, and therefore requires considerable time. If it is assumed that 100 ms is required for calculation of point N.sub.1 and that the unit distance .DELTA.d is 5 mm, the maximum speed at which the tip of the wrist 6 of the robot body 3 can move in real time is given by ##EQU1## In other words, the speed of the tip 6 is limited to the maximum speed, 3 m/min and thus at a speed above the maximum, the tip of wrist 6 of the robot body 3 stops bacause the calculation time is too much. Although the maximum speed is increased with the increase of unit distances .DELTA.d, the number of calculated points decreases to lower the precision of interpolation.